/*
 * peg.cpp
 *
 *  Created on: 10 déc. 2011
 *      Author: Elca
 */
#include "def.hpp"
#include "BoardInfos.hpp"
#include "Solver.hpp"
#include <iostream>
using namespace std;
using namespace pcm;

//Level 4
//Number solutions: 0
//Number solutions: 14
//Number solutions: 14
//Number solutions: 14
//Number solutions: 0
//Number solutions: 14
//Number solutions: 0
//Number solutions: 14
//Number solutions: 14
//Number solutions: 0
//Level 5
//Number solutions: 29760
//Number solutions: 14880
//Number solutions: 14880
//Number solutions: 85258
//Number solutions: 1550
//Number solutions: 85258
//Number solutions: 14880
//Number solutions: 1550
//Number solutions: 1550
//Number solutions: 14880
//Number solutions: 29760
//Number solutions: 14880
//Number solutions: 85258
//Number solutions: 14880
//Number solutions: 29760
//Level 6
//Number solutions: 43419942138
//Number solutions: 82905434589
//Number solutions: 82905434589
//Number solutions: 113077359159
//Number solutions: 29235690234
//Number solutions: 113077359159
//Number solutions: 113077359159
//Number solutions: 266871356732
//Number solutions: 266871356732
//Number solutions: 113077359159
//Number solutions: 82905434589
//Number solutions: 29235690234
//Number solutions: 266871356732
//Number solutions: 29235690234
//Number solutions: 82905434589
//Number solutions: 43419942138
//Number solutions: 82905434589
//Number solutions: 113077359159
//Number solutions: 113077359159
//Number solutions: 82905434589
//Number solutions: 43419942138
//Level 7
//Number solutions: 0
//Number solutions: 422164782932465380
//Number solutions: 422164782932465380
int main(int argc, char* argv[]){

	BoardInfos board;
	board.updateGameInfos(10);
	board.initBoard(1);
	board.printHolePos();
	board.printBoard();
	board.printJumps();

	Solver solver;
	solver.solve(board);
//	for(int i=0;i<BoardInfos::gameNumberHole();i++){
//		board.initBoard(i);
//		Solver solver;
//		solver.solve(board);
//	}
	//cout << "Delete last main:"<<BoardInfos::cons<<endl;
	return 0;
}

